I/O Mode Analysis in Concurrent Logic Programming
نویسنده
چکیده
This paper brieey reviews concurrent logic programming and the I/O mode system designed for the concurrent logic language Flat GHC. The mode system plays fundamental r^ oles both in programming and implementation in almost the same way as type systems do but in diierent respects. It provides us with the information on how data are generated and consumed and thus the view of \data as resources". It statically detects bugs resulting from ill-formed dataaow and advocates the \programming as wiring" paradigm. Well-modedness guarantees the safety of uniication, the basic operation in concurrent logic programming. Information on the numbers of access paths to data can be obtained by slightly extending the framework, which can be used for compile-time garbage collection and the destructive update of structures. Concurrent logic programming was born around 1980 from the study of the parallel execution of logic programs, and became an important paradigm for concurrent programming in its own right. Relational Language 3] was the rst to appear in the form of a complete programming language. Guarded Horn Clauses (GHC) was designed in the Fifth Generation Computer Project in 1984 11], after thorough examination of its predecessors Concurrent Prolog 9] and an early version of PARLOG 4]. Because of its simplicity, GHC was soon accepted in the Project as the base of KL1, the full-edged kernel language for the Parallel Inference Machine. GHC was soon subsetted to Flat GHC with a simpler guard construct, and the design of KL1 started based on Flat GHC. While GHC was designed as a concurrent language that did not address how programs should be executed, KL1 was designed as a parallel language in which programmers could specify what processor should execute what processes and at what priorities 13]. For the detailed history of the kernel language design in the Fifth Generation Computer Project, the readers are referred to 14]. 1 Several more concurrent logic programming languages were proposed in the past decade, but the diierence between all those languages is rather small as 1 An eecient KL1-to-C compiler system for Unix-based general-purpose computers, named KLIC, can be obtained via anonymous ftp from ftp.icot.or.jp.
منابع مشابه
Sequentialization of Parallel Logic Programs with Mode Analysis
The family of concurrent logic programming languages based on Flat-Guarded Horn Clauses has proven to be a great asset to programmers seeking to quickly construct ee-cient programs for highly parallel shared-memory machines. If these languages are to be implemented eeciently for other architectures, however, language-speciic compile-time analysis techniques must be improved. This work describes...
متن کاملA Program Dependence Model for Concurrent Logic Programs and its Applications
In this paper we propose a program dependence model for concurrent logic programs. We present three types of primary program dependences named the sharing dependence, communication dependence, and uni cation dependence between arguments in a concurrent logic program. We formally de ne these primary program dependences based on mode information. We further present a dependence-based representati...
متن کاملObject - Oriented Concurrent Constraint Programming
1.1 Abstract Oz is a higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and in...
متن کاملImproving the Calculation of RPN in the FMEA Method by Combining a Nonlinear Model with Revised TOPSIS and Fuzzy Logic
Introduction: Failure Mode and Effects Analysis (FMEA) is a structured way to find and understand the states of a system’s failure and to calculate the resulting effects. In this method, which has been criticized by many researchers, the risk priority number is obtained for each failure mode based on the multiplication of the three parameters of occurrence (O), severity (S) and detection (D). I...
متن کاملA Model for I/O in Equational Languages with Don't Care Non-determinism
Existing models for I/O in side-eeect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care non-determinism; the sequentialization of I/O is extensional rather than intensional. We apply th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994